package net.linku.model.req.menu;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import net.linku.constant.PageParam;

import java.util.List;

/**
 * 角色查询的请求参数
 *
 * 用于角色查询的请求参数封装类
 * 包含角色ID列表、租户ID、账户ID列表、角色名称列表、角色代码列表等字段
 *
 * @version 1.0
 * @date 2024/7/12 15:57
 */
@Data
@Builder
@ApiModel(description = "角色查询的请求参数")
public class AdminRoleQuery  {

    @ApiModelProperty(value = "角色ID列表", required = true, example = "[1, 2, 3]")
    private List<Long> roleIds;

    @ApiModelProperty(value = "租户ID", example = "1")
    private Long tenantId;

    @ApiModelProperty(value = "账户ID列表", example = "[1, 2, 3]")
    private List<Long> accountIds;

    @ApiModelProperty(value = "角色名称列表", example = "[\"管理员\", \"用户\"]")
    private List<String> roleNames;

    @ApiModelProperty(value = "角色代码列表", example = "[\"ADMIN\", \"USER\"]")
    private List<String> roleCodes;

    @ApiModelProperty(value = "角色名称", example = "管理员")
    private String roleName;

    @ApiModelProperty(value = "角色代码", example = "ADMIN")
    private String roleCode;

    @ApiModelProperty(value = "父角色ID", example = "1")
    private Long parentId;

    @ApiModelProperty(value = "角色id", example = "1")
    private Long id;

    @ApiModelProperty(value = "角色描述", example = "系统管理员角色")
    private String description;

    @ApiModelProperty(value = "角色别名", example = "sys_admin")
    private String roleAlias;

    @ApiModelProperty(value = "是否启用, 1 启用，0 未启用", example = "1")
    private Integer enabledFlag;
}
